package com.qf.dao;

import com.qf.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.Map;

/**
 * MyBatis的参数形式
 *      1.单个参数
 *              就以简单形式掺入即可，可在mapper文件配置parameterTypr(参数类型)就以简单类型别名处理即可
 *              在SQL语句引用简单参数#{任何名称}
 *      2.多个参数
 *          2.1传入多个简单类型 (不推荐)
 *                  我们需要通过@param注解给每个参数取名字(任何名字都可以)
 *                  在SQL语句中引入#{@param注解后面的名称}
 *          2.2传入实体类*******(推荐)
 *                  在mapper文件配置parameterType(参数类型)设置pojo(实体类)全限定名或别名
 *                  在sql语句中引入#{pojo的属性名}(占位符) 或者 '${pojo的属性名}'(拼接)
 *         2.3传入MAP集合
 *                  在mapper文件配营parameterType设置map
 *                  在SQL语句中引入#{pojo的属性名}'${pojo的属性名}
 */
public interface UserDao {
    User selectById(int id);

    User selectByusernameAndPassword(@Param("username") String name, @Param("password") String password);

    void addUser(User user);

    void updateUser(Map map);
}
